package net.hn.hnms.biz.project.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 
 * @TableName standing_book_manage
 */
@TableName(value ="standing_book_manage")
@Data
public class StandingBookManage extends BaseModel implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    @TableField(value = "project_file_id", fill = FieldFill.INSERT)
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 单位名称
     */
    private String companyName;

    /**
     * 工程项目
     */
    private String engineeringProject;

    /**
     * 招标形式
     */
    private String biddingDocument;

    /**
     * 安全生产许可证
     */
    private String productionLicence;

    /**
     * 营业执照有效期
     */
    private Date takinglicenseTime;

    /**
     * 企业资质证书
     */
    private String qualificationCertificate;

    /**
     * 施工合同编号
     */
    private String constructionContractNum;

    /**
     * 施工合同签订日期
     */
    private String constructionContractTime;

    /**
     * 安全管理签订日期
     */
    private String safetyManagementTime;

    /**
     * 管理机构设置
     */
    private String regulatoryAgency;

    /**
     * 管理人员任命文件下发日期
     */
    private String appointmentDate;

    /**
     * 管理人员资质
     */
    private String certification;

    /**
     * 作业人员配备
     */
    private String personnelAllocation;

    /**
     * 作业人员持证情况
     */
    private String personnelCertificate;

    /**
     * 三措两案报备情况
     */
    private String reportStatus;

    /**
     * 安全管理制度及操作规程
     */
    private String safetySystem;

    /**
     * 人员入场培训情况
     */
    private String trainingSituation;

    /**
     * 人员合同签订情况
     */
    private String staffContracts;

    /**
     * 人员意外保险缴纳情况
     */
    private String accidentInsurance;

    /**
     * 人员职业病体检情况
     */
    private String occupationalDisease;

    /**
     * 开工验收情况
     */
    private String inspectionReport;

    /**
     * 开工时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date onstreamTime;

    /**
     * 施工地点
     */
    private String jobLocation;

    /**
     * 报备业务部门
     */
    private String departmentOfReporting;


    @ApiModelProperty(value = "所属单位")
    private String belongUnit;


    /**
     * 1.未启动（Not Started）：项目尚未开始，尚未分配资源和计划。
     *
     * 2.进行中（In Progress）：项目正在进行中，已经开始执行。
     *
     * 3.暂停（On Hold）：项目暂时停止，可能由于某些原因需要延迟或终止。
     *
     * 4.完成（Completed）：项目已成功完成所有任务和交付物。
     */
    @ApiModelProperty(value = "项目状态")
    private String projectStatus;


    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date endTime;




    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("业务主管")
    private String businessSupervisor;
    @ApiModelProperty("调度室人员")
    private String dispatchingRoom;
    @ApiModelProperty("安全检查")
    private String safetyInspection;
    @ApiModelProperty("分管副总")
    private String vicePresident;
    @ApiModelProperty("分管矿领导")
    private String viceCoalLeader;
    @ApiModelProperty("批准矿领导")
    private String ratifyCoalLeader;
    @ApiModelProperty("北能调度室")
    private String companyDispatchingRoom;
    @ApiModelProperty("报备级别 0公司1煤矿")
    private String reportingLevel;

    @TableField(exist = false)
    private ApproveInfo approveInfo;
}